﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;
using NHibernate.Criterion;
using Didsoft.DataAccess.NHibernate;
using Didsoft.DataAccess.Contracts;
using RBDD.Embol.AccesoDatos.Entidades;
using RBDD.Embol.AccesoDatos.Contratos;

namespace RBDD.Embol.AccesoDatos.Contexto
{
    public class ClienteAccesoDatos: DataAccessBase<Cliente>, IClienteAccesoDatos
    {
        public ClienteAccesoDatos()
        {
        }


        public IList<Cliente> BuscarPorFiltro(string filtro)
        {
            ICriteria criteria = Session.CreateCriteria(typeof(Cliente));
            criteria.Add(Expression.Like("Nombre", filtro+"%"));
            return criteria.List<Cliente>();
        }





        public Cliente BuscarPorNombre(string nombre)
        {
            string cmd = "from Cliente c where c.Nombre= :nombre";
            var query = Session.CreateQuery(cmd);
            query.SetAnsiString("nombre", nombre);

            return query.List<Cliente>().FirstOrDefault();
        }
    }
}
